﻿using System.Data;
using System.Data.Odbc;

namespace crm.model
{
    public class ContatosDao : Conexao
    {
        Conexao c = new Conexao();

        public bool inserir(Contatos obj)
        {
            colParams.Clear();
            string query = "insert into contatos (nome, email, telefone, celular,cargo, observacao, fkidempresas, fkidpais, fkidestado, fkidcidade, fkidstatus) values (?,?, ?, ?,?,?,?,?, ?, ?, ?);";
            colParams.Add(new OdbcParameter("@nome", obj.Nome));
            colParams.Add(new OdbcParameter("@email", obj.Email));
            colParams.Add(new OdbcParameter("@telefone", obj.Telefone));
            colParams.Add(new OdbcParameter("@celular", obj.Celular));
            colParams.Add(new OdbcParameter("@cargo", obj.Cargo));
            colParams.Add(new OdbcParameter("@observacao", obj.Observacao));
            colParams.Add(new OdbcParameter("@fkidempresas", obj.FkIdEmpresas));
            colParams.Add(new OdbcParameter("@fkidpais", obj.FkIdPais));
            colParams.Add(new OdbcParameter("@fkidestado", obj.FkIdEstado));
            colParams.Add(new OdbcParameter("@fkidcidade", obj.FkIdCidade));
            colParams.Add(new OdbcParameter("@fkidstatus", obj.status));
            return c.Executar(query, colParams);
        }

        public DataTable consultar()
        {
            string query = "select * from vw_contatos";
            return c.ExecutarConsulta(query);
        }

        public DataTable carregarCboContatos(int id)
        {
            string query = "select *from func_contato_empresa(?);";
            colParams.Add(new OdbcParameter("@fkidempresas", id));
            return c.ExecutarConsulta(query, colParams);
        }

        public DataTable consultar(int id)
        {
            colParams.Clear();
            string query = "select * from contatos where idcontatos = ?;";
            colParams.Add(new OdbcParameter("@idcontatos", id));
            return c.ExecutarConsulta(query, colParams);
        }

        public DataTable consultar(string email)
        {
            colParams.Clear();
            string query = "select * from contatos where email like ?;";
            colParams.Add(new OdbcParameter("@email", email));
            return c.ExecutarConsulta(query,colParams);
        }

        public bool atualizar(Contatos obj)
        {
            colParams.Clear();
            string query = "update contatos set nome = ?, email = ?, telefone = ?, celular = ?, cargo = ?, observacao = ?, fkidempresas = ?, fkidpais = ?, fkidestado = ?, fkidcidade = ? where idcontatos = ?;";
            colParams.Add(new OdbcParameter("@nome", obj.Nome));
            colParams.Add(new OdbcParameter("@email", obj.Email));
            colParams.Add(new OdbcParameter("@telefone", obj.Telefone));
            colParams.Add(new OdbcParameter("@celular", obj.Celular));
            colParams.Add(new OdbcParameter("@cargo", obj.Cargo));
            colParams.Add(new OdbcParameter("@observacao", obj.Observacao));
            colParams.Add(new OdbcParameter("@fkidempresas", obj.FkIdEmpresas));
            colParams.Add(new OdbcParameter("@fkidpais", obj.FkIdPais));
            colParams.Add(new OdbcParameter("@fkidestado", obj.FkIdEstado));
            colParams.Add(new OdbcParameter("@fkidcidade", obj.FkIdCidade));
            colParams.Add(new OdbcParameter("@fkidstatus", obj.IdContatos));
            return c.Executar(query,colParams);
        }

        public bool remover(int id)
        {
            string query = "update contatos set fkidstatus = 1 where idcontatos = ? ;";
            colParams.Add(new OdbcParameter("@idstatus", id));
            return c.Executar(query,colParams);
        }

        public bool inserir(Oportunidade obj)
        {
            throw new System.NotImplementedException();
        }
    }
}
